pp108 : Receive Message

Receive Message

This topic describes a Receive Message event.


Receive Message event is a BPMN construct, which is triggered by an incoming message from a participant. The process remains in waiting state till it receives the specified message and once the message is received, the process flow will move to the next immediate activity. A Receive Message event can also be used to synchronize a sub-process with its parent process, in which case, the Receive Message is used in the main process. The Receive Message is graphically represented as .

If a Receive Message is modeled after a Decision construct, the Decision is translated into BPML 'Choice'. At run time, the outgoing connector is selected depending on the latest message coming to the process. This message can be the output message received from the previous activity for the Choice Decision or the message triggered from a sub-process using Send Message event. At design time, when a Receive Message is used after a Decision construct, the condition on the Decision can be left empty.


During run time, the main process remains in waiting state when a Receive Message event is encountered. This Receive Message specifies an input message that is passed from the Send Message event construct in the sub-process, if the Sub-process is an activity prior to the Receive Message and should not have any output message. If the sub-process has an output message, then, the main process remains in waiting state until the sub-process is executed and the output message is received by the main process.

For information about Receive Message construct properties, see here.

Related tasks

Setting the Properties of Receive Message Event